Method and apparatus for managing a gaming application

ABSTRACT

An embodiment of the present disclosure includes, for example, a method for receiving from a first device a request to initiate a video game with a second device, determining a location of the first device, detecting a difference between first computing resources of the first device and second computing resources of the second device, instructing the first device, the second device, or both to adjust a resource configuration to mitigate an aspect of the difference between the first computing resources and the second computing resources, and coordinating an exchange of first control information provided by the first device and second control information provided by the second device to enable a multiplayer session of the video game between the first device and the second device. Other embodiments are disclosed.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/168,354 filed Jan. 30, 2014, which is a continuation of U.S. patentapplication Ser. No. 13/669,609 filed Nov. 6, 2012, now U.S. Pat. No.8,678,915, which is a continuation of U.S. patent application Ser. No.13/098,567 filed May 2, 2011, now U.S. Pat. No. 8,348,752. The contentsof each of the foregoing is/are hereby incorporated by reference intothis application as if set forth herein in full.

FIELD OF THE DISCLOSURE

The present disclosure relates generally to gaming applications and morespecifically to a method and apparatus for managing a gamingapplication.

BACKGROUND

Gaming consoles today support multiplayer games which can be played froma single gaming console, or between gaming consoles located in remotelocations when players are subscribed to online gaming services. Smartphones are also adapted to download games which users can playindividually from their smart phone or between users of smart phonesover a wireless communication system.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1-2 depict illustrative embodiments of communication systems thatprovide media services;

FIG. 3 depicts an illustrative embodiment of a web portal forinteracting with the communication systems of FIGS. 1-2;

FIG. 4 depicts an illustrative embodiment of a communication deviceutilized in the communication systems of FIGS. 1-2;

FIG. 5 depicts an illustrative embodiment of a system for enablinggaming applications between devices;

FIG. 6 depicts an illustrative embodiment of a method operating inportions of the systems described in FIGS. 1-5; and

FIG. 7 is a diagrammatic representation of a machine in the form of acomputer system within which a set of instructions, when executed, maycause the machine to perform any one or more of the methods discussedherein.

DETAILED DESCRIPTION

The present disclosure describes, among other things, illustrativeembodiments of a system for enabling gaming applications at one or morecommunication devices. Other embodiments are contemplated by the presentdisclosure.

One embodiment of the present disclosure includes a computer-readablestorage medium in a coordination server having computer instructions toreceive from a communication device a request to initiate a video gamewith at least one device remotely located from the communication device,determine a location of the communication device, select a gamerendering server from a plurality of game rendering servers according tothe location of the communication device, and instruct the gamerendering server to transmit a video stream associated with the videogame responsive to determining that the communication device is unableto execute in whole or in part the video game from local computingresources of the communication device. The computer-readable storagemedium can further include computer instructions to receive firstcontrol information generated by the communication device, receivesecond control information generated by the at least one device, andcoordinate an exchange of the first control information and the secondcontrol information to enable a multiplayer game of the video gamebetween the communication device and the at least one device.

One embodiment of the present disclosure includes a method for receivinga request to coordinate execution of a gaming application between acommunication device and at least one device remotely located from thecommunication device, selecting a game rendering server from a pluralityof game rendering servers according to a determination of at least onecharacteristic of the communication device, and instructing the gamerendering server to transmit a stream associated with the gamingapplication responsive to determining that the communication device isunable to execute in whole or in part the gaming application from localcomputing resources of the communication device. The method can furtherinclude receiving first control information generated by thecommunication device, receiving second control information generated bythe at least one device, and coordinating an exchange of the firstcontrol information and the second control information between thecommunication device and the at least one device.

One embodiment of the present disclosure includes a rendering serverhaving a memory, and a processor coupled to the memory. The processorcan be adapted to receive instructions from a coordination server totransmit to a communication device a stream associated with a gamingapplication responsive to a determination by the coordination serverthat the communication device is unable to process in whole or in partthe gaming application from local computing resources of thecommunication device, and transmit the stream to the communicationdevice. The processor can further be adapted to receive from thecoordination server first control information and second controlinformation, where the first control information is generated by thecommunication, where the second control information is generated by atleast one device, and where the coordination server is adapted tocoordinate an exchange of the first control information and the secondcontrol information to enable a multiplayer game between thecommunication device and the at least one device.

FIG. 1 depicts an illustrative embodiment of a first communicationsystem 100 for delivering media content. The communication system 100can represent an Internet Protocol Television (IPTV) media system. TheIPTV media system can include a super head-end office (SHO) 110 with atleast one super headend office server (SHS) 111 which receives mediacontent from satellite and/or terrestrial communication systems. In thepresent context, media content can represent, for example, audiocontent, moving image content such as 2D or 3D videos, video games,virtual reality content, still image content, and combinations thereof.The SHS server 111 can forward packets associated with the media contentto one or more video head-end servers (VHS) 114 via a network of videohead-end offices (VHO) 112 according to a common multicast communicationprotocol.

The VHS 114 can distribute multimedia broadcast content via an accessnetwork 118 to commercial and/or residential buildings 102 housing agateway 104 (such as a residential or commercial gateway). The accessnetwork 118 can represent a group of digital subscriber line accessmultiplexers (DSLAMs) located in a central office or a service areainterface that provide broadband services over fiber optical links orcopper twisted pairs 119 to buildings 102. The gateway 104 can usecommon communication technology to distribute broadcast signals to mediaprocessors 106 such as Set-Top Boxes (STBs) which in turn presentbroadcast channels to media devices 108 such as computers or televisionsets managed in some instances by a media controller 107 (such as aninfrared or RF remote control).

The gateway 104, the media processors 106, and media devices 108 canutilize tethered communication technologies (such as coaxial, powerlineor phone line wiring) or can operate over a wireless access protocolsuch as Wireless Fidelity (WiFi), Bluetooth, Zigbee, or other present ornext generation local or personal area wireless network technologies. Byway of these interfaces, unicast communications can also be invokedbetween the media processors 106 and subsystems of the IPTV media systemfor services such as video-on-demand (VoD), browsing an electronicprogramming guide (EPG), or other infrastructure services.

A satellite broadcast television system 129 can also be used in themedia system of FIG. 1. The satellite broadcast television system 129can be overlaid, operably coupled with, or replace the IPTV system asanother representative embodiment of communication system 100. In thisembodiment, signals transmitted by a satellite 115 carrying mediacontent can be received by a satellite dish receiver 131 coupled to thebuilding 102. Modulated signals received by the satellite dish receiver131 can be transferred to the media processors 106 for demodulating,decoding, encoding, and/or distributing broadcast channels to the mediadevices 108. The media processors 106 can be equipped with a broadbandport to the ISP network 132 to enable interactive services such as VoDand EPG as described above.

In yet another embodiment, an analog or digital cable broadcastdistribution system such as cable TV system 133 can be overlaid,operably coupled with, or replace the IPTV system and/or the satelliteTV system as another representative embodiment of communication system100. In this embodiment, the cable TV system 133 can also provideInternet, telephony, and interactive media services.

It is contemplated that the present disclosure can apply to any presentor next generation over-the-air and/or landline media content servicessystem.

Some of the network elements of the IPTV media system can be coupled toone or more computing devices 130, a portion of which can operate as aweb server for providing web portal services over an Internet ServiceProvider (ISP) network 132 to wireline media devices 108 or wirelesscommunication devices 116.

Several forms of media services can be offered to media devices overlandline technologies such as those described above. Additionally, mediaservices can be offered to media devices by way of a wireless accessbase station 117 operating according to common wireless access protocolssuch as Global System for Mobile or GSM, Code Division Multiple Accessor CDMA, Time Division Multiple Access or TDMA, Universal MobileTelecommunications or UMTS, World interoperability for Microwave orWiMAX, Software Defined Radio or SDR, Long Term Evolution or LTE, and soon. Other present and next generation wireless network technologies arecontemplated by the present disclosure.

Communication system 100 can also provide for all or a portion of thecomputing devices 130 to function as a coordination server (hereinreferred to as coordination server 130). The coordination server 130 canuse common computing and communication technology to perform function162, which includes among other things, coordinating a gaming sessionbetween communication devices, selecting a rendering server to assist acommunication device with limited resources, and to control the exchangeof gaming control information in a multiplayer setting. Communicationdevices such as references 106 and 116 can utilize gaming softwareapplications to perform gaming functions 164 and 166 as will bedescribed below.

Illustrative embodiments of method 600 shown in FIG. 6 can be applied toportions of the devices of FIG. 1.

FIG. 2 depicts an illustrative embodiment of a communication system 200employing an IP Multimedia Subsystem (IMS) network architecture tofacilitate the combined services of circuit-switched and packet-switchedsystems. Communication system 200 can be overlaid or operably coupledwith communication system 100 as another representative embodiment ofcommunication system 100.

Communication system 200 can comprise a Home Subscriber Server (HSS)240, a tElephone NUmber Mapping (ENUM) server 230, and other commonnetwork elements of an IMS network 250. The IMS network 250 canestablish communications between IMS-compliant communication devices(CDs) 201, 202, Public Switched Telephone Network (PSTN) CDs 203, 205,and combinations thereof by way of a Media Gateway Control Function(MGCF) 220 coupled to a PSTN network 260. The MGCF 220 need not be usedwhen a communication session involves IMS CD to IMS CD communications. Acommunication session involving at least one PSTN CD may utilize theMGCF 220.

IMS CDs 201, 202 can register with the IMS network 250 by contacting aProxy Call Session Control Function (P-CSCF) which communicates with aninterrogating CSCF (I-CSCF), which in turn, communicates with a ServingCSCF (S-CSCF) to register the CDs with the HSS 240. To initiate acommunication session between CDs, an originating IMS CD 201 can submita Session Initiation Protocol (SIP INVITE) message to an originatingP-CSCF 204 which communicates with a corresponding originating S-CSCF206. The originating S-CSCF 206 can submit the SIP INVITE message to oneor more application servers (ASs) 217 that can provide a variety ofservices to IMS subscribers.

For example, the application servers 217 can be used to performoriginating call feature treatment functions on the calling party numberreceived by the originating S-CSCF 206 in the SIP INVITE message.Originating treatment functions can include determining whether thecalling party number has international calling services, call IDblocking, calling name blocking, 7-digit dialing, and/or is requestingspecial telephony features (e.g., *72 forward calls, *73 cancel callforwarding, *67 for caller ID blocking, and so on). Based on initialfilter criteria (iFCs) in a subscriber profile associated with a CD, oneor more application servers may be invoked to provide various calloriginating feature services.

Additionally, the originating S-CSCF 206 can submit queries to the ENUMsystem 230 to translate an E.164 telephone number in the SIP INVITEmessage to a SIP Uniform Resource Identifier (URI) if the terminatingcommunication device is IMS-compliant. The SIP URI can be used by anInterrogating CSCF (I-CSCF) 207 to submit a query to the HSS 240 toidentify a terminating S-CSCF 214 associated with a terminating IMS CDsuch as reference 202. Once identified, the I-CSCF 207 can submit theSIP INVITE message to the terminating S-CSCF 214. The terminating S-CSCF214 can then identify a terminating P-CSCF 216 associated with theterminating CD 202. The P-CSCF 216 may then signal the CD 202 toestablish Voice over Internet Protocol (VoIP) communication services,thereby enabling the calling and called parties to engage in voiceand/or data communications. Based on the iFCs in the subscriber profile,one or more application servers may be invoked to provide various callterminating feature services, such as call forwarding, do not disturb,music tones, simultaneous ringing, sequential ringing, etc.

In some instances the aforementioned communication process issymmetrical. Accordingly, the terms “originating” and “terminating” inFIG. 2 may be interchangeable. It is further noted that communicationsystem 200 can be adapted to support video conferencing. In addition,communication system 200 can be adapted to provide the IMS CDs 201, 202with the multimedia and Internet services of communication system 100 ofFIG. 1. It is further contemplated that the CDs of FIG. 2 can operate aswireline or wireless devices. For example, the CDs of FIG. 2 can becommunicatively coupled to a cellular base station 117 such as shown inFIG. 1, a femtocell (not shown), a WiFi router, a DECT base unit, oranother suitable wireless access unit to establish communications withthe IMS network 250 of FIG. 2.

If the terminating communication device is instead a PSTN CD such as CD203 or CD 205 (in instances where the cellular phone only supportscircuit-switched voice communications), the ENUM system 230 can respondwith an unsuccessful address resolution which can cause the originatingS-CSCF 206 to forward the call to the MGCF 220 via a Breakout GatewayControl Function (BGCF) 219. The MGCF 220 can then initiate the call tothe terminating PSTN CD over the PSTN network 260 to enable the callingand called parties to engage in voice and/or data communications.

It is further appreciated that the CDs of FIG. 2 can operate as wirelineor wireless devices. Although not shown, the CDs of FIG. 2 can becommunicatively coupled to a cellular base station 221, a femtocell, aWiFi router, a DECT base unit, or another suitable wireless access unitto establish communications with the IMS network 250 of FIG. 2. Thecellular access base station 121 can operate according to commonwireless access protocols such as Global System for Mobile (GSM), CodeDivision Multiple Access (CDMA), Time Division Multiple Access (TDMA),Universal Mobile Telecommunications (UMTS), World interoperability forMicrowave (WiMAX), Software Defined Radio (SDR), Long Term Evolution(LTE), and so on. Other present and next generation wireless networktechnologies are contemplated by the present disclosure. Accordingly,multiple wireline and wireless communication technologies arecontemplated for the CDs of FIG. 2.

It is further contemplated that cellular phones supporting LTE cansupport packet-switched voice and packet-switched data communicationsand thus may operate as IMS-compliant mobile devices. In thisembodiment, the cellular base station 221 may communicate directly withthe IMS network 250.

The coordination server 130 of FIG. 1 can be operably coupled to thesecond communication system 200 for purposes similar to those describedabove. It is further contemplated by the present disclosure thatcoordination server 130 can perform function 162 and thereby providegaming services to the CDs 201-203 and 205 in FIG. 2 executing gamingsoftware that performs gaming function 166. The coordination server 130can also select an application server 217 to perform game renderingfunctions for CDs 201-203 and 205.

Illustrative embodiments of method 600 shown in FIG. 6 can be applied toportions of the devices of FIG. 2.

FIG. 3 depicts an illustrative embodiment of a web portal 302 which canbe hosted by server applications operating from the computing devices130 of the communication system 100 illustrated in FIG. 1. The webportal 302 can be used for managing services of communication systems100-200. A web page of the web portal 302 can be accessed by a UniformResource Locator (URL) with an Internet browser such as Microsoft'sInternet Explorer™, Mozilla's Firefox™, Apple's Safari™, or Google'sChrome™ using an Internet-capable communication device such as thosedescribed in FIGS. 1-2. The web portal 302 can be configured, forexample, to access a media processor 106 and services managed therebysuch as a Digital Video Recorder (DVR), a Video on Demand (VoD) catalog,an Electronic Programming Guide (EPG), or a personal catalog (such aspersonal videos, pictures, audio recordings, etc.) stored at the mediaprocessor 106. The web portal 302 can also be used for provisioning IMSservices described earlier, provisioning Internet services, provisioningcellular phone services, and so on.

It is contemplated by the present disclosure that the web portal 302 canfurther be utilized to manage and provision software applications 162,164, 166 and 168.

FIG. 4 depicts an exemplary embodiment of a communication device 400.Communication device 400 can serve in whole or in part as anillustrative embodiment of the devices depicted in FIGS. 1-2. Thecommunication device 400 can comprise a wireline and/or wirelesstransceiver 402 (herein transceiver 402), a user interface (UI) 404, apower supply 414, a location receiver 416, and a controller 406 formanaging operations thereof. The transceiver 402 can support short-rangeor long-range wireless access technologies such as Bluetooth, WiFi,Digital Enhanced Cordless Telecommunications (DECT), or cellularcommunication technologies, just to mention a few. Cellular technologiescan include, for example, CDMA-1X, UMTS/HSDPA, GSM/GPRS, TDMA/EDGE,EV/DO, WiMAX, SDR, LTE, as well as other next generation wirelesscommunication technologies as they arise. The transceiver 402 can alsobe adapted to support circuit-switched wireline access technologies(such as PSTN), packet-switched wireline access technologies (such asTCPIP, VoIP, etc.), and combinations thereof.

The UI 404 can include a depressible or touch-sensitive keypad 408 witha navigation mechanism such as a roller ball, a joystick, a mouse, or anavigation disk for manipulating operations of the communication device400. The keypad 408 can be an integral part of a housing assembly of thecommunication device 400 or an independent device operably coupledthereto by a tethered wireline interface (such as a USB cable) or awireless interface supporting for example Bluetooth. The keypad 408 canrepresent a numeric keypad commonly used by phones, and/or a Qwertykeypad with alphanumeric keys. The UI 404 can further include a display410 such as monochrome or color LCD (Liquid Crystal Display), OLED(Organic Light Emitting Diode) or other suitable display technology forconveying images to an end user of the communication device 400. In anembodiment where the display 410 is touch-sensitive, a portion or all ofthe keypad 408 can be presented by way of the display 410 withnavigation features.

The UI 404 can also include an audio system 412 that utilizes commonaudio technology for conveying low volume audio (such as audio heardonly in the proximity of a human ear) and high volume audio (such asspeakerphone for hands free operation). The audio system 412 can furtherinclude a microphone for receiving audible signals of an end user. Theaudio system 412 can also be used for voice recognition applications.The UI 404 can further include an image sensor 413 such as a chargedcoupled device (CCD) camera for capturing still or moving images.

The power supply 414 can utilize common power management technologiessuch as replaceable and rechargeable batteries, supply regulationtechnologies, and charging system technologies for supplying energy tothe components of the communication device 400 to facilitate long-rangeor short-range portable applications. The location receiver 416 canutilize common location technology such as a global positioning system(GPS) receiver capable of assisted GPS for identifying a location of thecommunication device 400 based on signals generated by a constellationof GPS satellites, thereby facilitating common location services such asnavigation.

The communication device 400 can use the transceiver 402 to alsodetermine a proximity to a cellular, WiFi, Bluetooth, or other wirelessaccess points by common sensing techniques such as utilizing a receivedsignal strength indicator (RSSI) and/or a signal time of arrival (TOA)or time of flight (TOF). The controller 406 can utilize computingtechnologies such as a microprocessor, a digital signal processor (DSP),and/or a video processor with associated storage memory such as Flash,ROM, RAM, SRAM, DRAM or other storage technologies.

The communication device 400 can be adapted to perform the functions ofthe media processor 106, the media devices 108, or the portablecommunication devices 116 of FIG. 1, as well as the IMS CDs 201-202 andPSTN CDs 203-205 of FIG. 2. It will be appreciated that thecommunication device 400 can also represent other common devices thatcan operate in communication systems 100-200 of FIGS. 1-2 such as agaming console and a media player.

It is further contemplated by the present disclosure that thecommunication device 400 can operate as a coordination server, renderingserver, or a mobile communication device. The controller 406 can beadapted in various embodiments to perform the functions 162, 164, 166and 168 of any of the aforementioned devices. Illustrative embodimentsof method 600 shown in FIG. 6 can be applied to portions of thecommunication device 400 of FIG. 4.

FIG. 5 depicts an illustrative embodiment of a system 500. System 500can comprise a coordination server 130 communicatively coupled to anIPTV network 502. The IPTV network 502 can be communicatively coupled toan Intra-Carrier ISP network 504 and/or an Inter-Carrier ISP network506. The Intra-carrier ISP 504 can represent an ISP network that ismanaged by the same service provider of the IPTV network 502 and thecoordination server 130 (referred herein as service provider A). TheIPTV network 502 and Intra-carrier ISP network 504 can be configured bythe coordination server 130 to provide preferred services to subscribersof the service provider A. The Inter-carrier ISP 506 can represent anISP network managed by a service provider (herein service provider B)which may have an inter-carrier agreement with service provider A toshare Internet services with service provider A.

By way of the inter-carrier ISP 506, the IPTV network 502 of serviceprovider A may access subscriber devices roaming in other networks aswell as rendering servers 508 which may be called on by the IPTV network502 to provide gaming services to mobile devices 512 by way of an accessnetwork 510. The access network 510 can represent a landline accessnetwork with DSLAMs, or an access network with base stations thatprovide WiFi, WiMAX, or cellular communication services to mobiledevices.

The IPTV network 502 may also access set-top box 514 by way of an accessnetwork 510 located within service provider A's communication system.The IPTV network 502 can also access a rendering server 508 to rendergaming services to the set-top box 514 by way of access network 510.Additionally, the IPTV network 502 can access a gaming console 516 byway of a combination of the intra-carrier ISP network 504 and the accessnetwork 510.

The coordination server 130 can be adapted to coordinate a gamingsession between communication devices 512, 514 or 516, to select arendering server 508 to assist a communication device with limitedresources such as 512 or 514, and to control the exchange of gamingcontrol information in a multiplayer setting.

FIG. 6 depicts an illustrative method 600 that operates in portions ofthe devices of FIGS. 1-5. Method 600 can begin with step 602 in whichthe coordination server 130 initiates a multiplayer session between acommunication device and at least one other device. This step can resultfrom a request submitted by a user of one of the gaming devices.Suppose, for example, that the user of a mobile device 512 in FIG. 5 isinterested in initiating a multiplayer game. The user can invoke anapplication in the mobile device 512 that submits a message by way ofthe Inter-carrier ISP network 506, which is then forwarded to thecoordination server 130 by way of the IPTV network 502. The requestsubmitted by the mobile device 512 can identify a multiplayer game to beinitiated with a user (gamer) of the gaming console 516 and the gamethat is to be played between these devices. In step 604, thecoordination server 130 can determine the capabilities of the mobiledevice 512 and the gaming console 516. If one or both of these devicesrequire software to engage in the multiplayer game, the coordinationserver 130 can download this software.

The software downloaded in step 606 can represent software correspondingto the desired game in whole or in part. If the mobile device 512 is notcapable of executing the game locally, the software downloaded to themobile device 512 can represent a user interface for controlling thegame as it is streamed from a rendering server 508. The software wheninvoked in the mobile device 512 can, for example, segment a portion ofthe display for gaming controls and a portion for presenting a videostream corresponding to the game as shown in FIG. 5. If the gamingconsole 516 is able to execute the game locally but does not have a copyof the game, the coordination server 130 can download a full version ofthe game to the gaming console 516. The full game can include versioningschemes of the game to accommodate a variable suite of features toenable equitable game sessions as will be discussed below. If the gamingsoftware is available in either device, the coordination server 130 canskip step 606 and proceed to step 608.

At step 606, the coordination server 130 can identify inconsistenciesbetween the resources of the mobile device 512 and the gaming console516, and determine that an unmitigated inconsistency may impact thegaming performance of either player of such devices. For example, thecoordination server 130 may determine that the player using the gamingconsole 516 has an unfair advantage over the player with the mobiledevice 512 because the touch-screen gaming controls of the mobile device512 are less sophisticated than the controls of a gaming controller 517used with the gaming console 516. The coordination server 130 may alsodetermine that the response time of the touch-screen gaming controls maybe noticeably slower than the gaming controls of the gaming controller517 of the gaming console 516. Similarly, the coordination server 130may determine that the mobile device 516 has an accelerometer and/orgyroscope that provide three dimensional controls that the gamingcontroller 517 of the gaming console 516 does not have. The coordinationserver 130 may also determine other discrepancies between the mobiledevice 512 and the gaming console 516 such as disparate displayresolutions, disparate screen sizes, disparate aspect ratios, disparateaudio quality, and so on. The coordination server 130 can determine fromthese operational differences which features of each device may providean unfair advantage to one player over another.

In step 610, the coordination server 130 can mitigate these differencesin whole or in part by instructing the mobile device 512 and the gamingconsole 516 to each adapt to a new operational configuration. The newconfiguration can result in the deliberate degrading of performance ordisabling of one or more features in each device. In one embodiment, thecoordination server 130 can, for example, instruct the gaming console toexecute one of a plurality of versions of the gaming software stored ina memory of the gaming console 516 in order to be feature-wisecompatible with the mobile device 512. The selected software version canrepresent a version that is known to be compatible with the mobiledevice 512. In another embodiment, the coordination server 130 candownload a version of the gaming software that is feature-wisecompatible with the mobile device 512 if a desired software version isnot already available in the gaming console 512.

In one embodiment, the coordination server 130 can instruct the mobiledevice 512 and/or the gaming console 516 to downgrade or alter one ormore features such as resolution, accelerometer/gyro, input responsetime, audio quality, display aspect ratio, and so on. In one embodiment,the coordination server 130 can also download software to the mobiledevice 512 and/or the gaming console 516 to resolve inconsistencies. Thesoftware can represent a patch, a replacement or update of a version ofthe gaming software, or combinations thereof. If inconsistencies can beresolved by provisioning the mobile device 512 and/or the gaming console516, then step 612 can be skipped. Instead a provisioning step (notshown) can be applied to adjust features in the mobile device 512 andgaming console 516 to mitigate game performance inconsistencies.

At step 614, the coordination server 130 can be adapted to alsodetermine the location of the mobile device 512 and the gaming console516, and whether these devices are operating within the intra-network501. Since the gaming console 516 is within the intra-network 501, thecoordination server 130 can manage the IPTV Network 502 and/or theIntra-Carrier ISP 504 to provide the gaming console 516 adequateservices to engage in the requested gaming session. Furthermore, sincethe gaming console 516 can execute the gaming software locally, thecoordination server 130 can determine that it does not have to providerendering services. In the illustration of FIG. 5, it is assumed thatthe mobile device 512 is roaming in a network that is not within theintra-network 501. It is further assumed in this illustration that themobile device 512 can execute the gaming controls locally, but does nothave the ability to render the visual portion of the game withoutassistance.

Under these circumstances, the coordination server 130 can proceed tostep 616 where it selects a game rendering server 508 that can providerendering services to the mobile device 512. The coordination server 130can select the game rendering server 508 based on a proximity of thegame rendering server 508 to the location of the mobile device 512, andthe capabilities of the mobile device 512 determined in steps 614 and604. Other factors can be considered by the coordination server 130 inthe selection process such as the availability and capacity of othergame rendering servers 508 (not shown, but inferred by the adjacentdots) coupled to the inter-carrier ISP 506 network, and the limitationsof the inter-carrier ISP 506 to provide reliable data services to themobile device 512 from one of the available game rendering servers 508.

Once a game rendering server 508 has been selected, the coordinationserver 130 can instruct at step 618 the game rendering server 508 toexecute gaming software corresponding to the game requested in step 602.Once the gaming software has been executed, the coordination server 130can nearly contemporaneously instruct the mobile device 512 and thegaming console 516 to initiate the multiplayer game session in the samestep. At step 620, the coordination server 130 can receive controlinformation generated by the gamer of the mobile device 512 and thegamer(s) of the gaming console 516. A portion of the control informationcan result from the gamer of the mobile device 512 manipulating thegaming controls on the display of the mobile device 512 and/ormanipulating the mobile device 512 in 3D space which causes the built-inaccelerometer and/or gyro to generate control information. The otherportion of the control information can come from gamer(s) manipulatingone or more gaming controllers 517 communicatively coupled to the gamingconsole 516 as shown in FIG. 5.

In step 622, the coordination server 130 can coordinate the exchange ofcontrol information between the game rendering server 508 and the gamingconsole 512. Since the mobile device 512 does not execute gamingsoftware (other than a user interface for gaming controls) the controlinformation generated by the gaming controller 517 associated with thegame console 516 is directed by the coordination server 130 to the gamerendering server 508 to cause the game to transition to other gamingstates according to the control information (game stimuli) produced bythe gaming controller(s) 517. Once the game has been updated accordingto the game stimuli produced by the gaming controller(s) 517, the gamingrendering server 508 can stream in step 624 the updated video game tothe mobile device 512. Upon receipt of the streamed data, the mobiledevice 512 can present the streamed video in the allotted portion of thedisplay. The streamed content can also include the updated audio portionof the game which can be presented to the gamer by way of the speaker ofthe mobile device 512, or a tethered or wireless (e.g., Bluetooth)headset.

Method 600 can be applied to communication devices of disparate types toenable them to engage in a multiplayer game session independent oflocation, and rendering resources of each device. Method 600 can also beapplied to mitigate gaming performance inconsistencies caused bydissimilar resources of communication devices.

Upon reviewing the aforementioned embodiments, it would be evident to anartisan with ordinary skill in the art that said embodiments can bemodified, reduced, or enhanced without departing from the scope andspirit of the claims described below. For example, method 600 can beadapted for a mobile device to mobile device gaming session, a mobiledevice to set-top gaming session, a gaming console to set-top box gamingsession, a set-top box to computer gaming session, as well as othersuitable combinations. Additionally, method 600 can be adapted forgaming sessions involving audio-only games with no video component, andvice-versa. In another embodiment, method 600 can be adapted for 3Dgaming sessions. Thus, method 600 can be applied to any device withcomputing resources capable of engaging in a gaming session involvingany suitable form of media content. Other embodiments are contemplatedby the present disclosure.

FIG. 7 depicts an exemplary diagrammatic representation of a machine inthe form of a computer system 700 within which a set of instructions,when executed, may cause the machine to perform any one or more of themethods discussed above. One or more instances of the machine canoperate, for example, as coordination server 130, a game renderingserver 508, a mobile device 512, a set-top box 514, a gaming console516, or other suitable devices capable of engaging in a game session. Insome embodiments, the machine may be connected (e.g., using a network)to other machines. In a networked deployment, the machine may operate inthe capacity of a server or a client user machine in server-client usernetwork environment, or as a peer machine in a peer-to-peer (ordistributed) network environment.

The machine may comprise a server computer, a client user computer, apersonal computer (PC), a tablet PC, a smart phone, a laptop computer, adesktop computer, a control system, a network router, switch or bridge,or any machine capable of executing a set of instructions (sequential orotherwise) that specify actions to be taken by that machine. It will beunderstood that a communication device of the present disclosureincludes broadly any electronic device that provides voice, video ordata communication. Further, while a single machine is illustrated, theterm “machine” shall also be taken to include any collection of machinesthat individually or jointly execute a set (or multiple sets) ofinstructions to perform any one or more of the methods discussed herein.

The computer system 700 may include a processor 702 (e.g., a centralprocessing unit (CPU), a graphics processing unit (GPU, or both), a mainmemory 704 and a static memory 706, which communicate with each othervia a bus 708. The computer system 700 may further include a videodisplay unit 710 (e.g., a liquid crystal display (LCD), a flat panel, ora solid state display. The computer system 700 may include an inputdevice 712 (e.g., a keyboard), a cursor control device 714 (e.g., amouse), a disk drive unit 716, a signal generation device 718 (e.g., aspeaker or remote control) and a network interface device 720.

The disk drive unit 716 may include a tangible computer-readable storagemedium 722 on which is stored one or more sets of instructions (e.g.,software 724) embodying any one or more of the methods or functionsdescribed herein, including those methods illustrated above. Theinstructions 724 may also reside, completely or at least partially,within the main memory 704, the static memory 706, and/or within theprocessor 702 during execution thereof by the computer system 700. Themain memory 704 and the processor 702 also may constitute tangiblecomputer-readable storage media.

Dedicated hardware implementations including, but not limited to,application specific integrated circuits, programmable logic arrays andother hardware devices can likewise be constructed to implement themethods described herein. Applications that may include the apparatusand systems of various embodiments broadly include a variety ofelectronic and computer systems. Some embodiments implement functions intwo or more specific interconnected hardware modules or devices withrelated control and data signals communicated between and through themodules, or as portions of an application-specific integrated circuit.Thus, the example system is applicable to software, firmware, andhardware implementations.

In accordance with various embodiments of the present disclosure, themethods described herein are intended for operation as software programsrunning on a computer processor. Furthermore, software implementationscan include, but not limited to, distributed processing orcomponent/object distributed processing, parallel processing, or virtualmachine processing can also be constructed to implement the methodsdescribed herein.

While the tangible computer-readable storage medium 622 is shown in anexample embodiment to be a single medium, the term “tangiblecomputer-readable storage medium” should be taken to include a singlemedium or multiple media (e.g., a centralized or distributed database,and/or associated caches and servers) that store the one or more sets ofinstructions. The term “tangible computer-readable storage medium” shallalso be taken to include any non-transitory medium that is capable ofstoring or encoding a set of instructions for execution by the machineand that cause the machine to perform any one or more of the methods ofthe present disclosure.

The term “tangible computer-readable storage medium” shall accordinglybe taken to include, but not be limited to: solid-state memories such asa memory card or other package that houses one or more read-only(non-volatile) memories, random access memories, or other re-writable(volatile) memories, a magneto-optical or optical medium such as a diskor tape, or other tangible media which can be used to store information.Accordingly, the disclosure is considered to include any one or more ofa tangible computer-readable storage medium, as listed herein andincluding art-recognized equivalents and successor media, in which thesoftware implementations herein are stored.

Although the present specification describes components and functionsimplemented in the embodiments with reference to particular standardsand protocols, the disclosure is not limited to such standards andprotocols. Each of the standards for Internet and other packet switchednetwork transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP) representexamples of the state of the art. Such standards are from time-to-timesuperseded by faster or more efficient equivalents having essentiallythe same functions. Wireless standards for device detection (e.g.,RFID), short-range communications (e.g., Bluetooth, WiFi, Zigbee), andlong-range communications (e.g., WiMAX, GSM, CDMA) are contemplated foruse by computer system 700.

The illustrations of embodiments described herein are intended toprovide a general understanding of the structure of various embodiments,and they are not intended to serve as a complete description of all theelements and features of apparatus and systems that might make use ofthe structures described herein. Many other embodiments will be apparentto those of skill in the art upon reviewing the above description. Otherembodiments may be utilized and derived therefrom, such that structuraland logical substitutions and changes may be made without departing fromthe scope of this disclosure. Figures are also merely representationaland may not be drawn to scale. Certain proportions thereof may beexaggerated, while others may be minimized. Accordingly, thespecification and drawings are to be regarded in an illustrative ratherthan a restrictive sense.

Although specific embodiments have been illustrated and describedherein, it should be appreciated that any arrangement calculated toachieve the same purpose may be substituted for the specific embodimentsshown. This disclosure is intended to cover any and all adaptations orvariations of various embodiments. Combinations of the aboveembodiments, and other embodiments not specifically described herein,will be apparent to those of skill in the art upon reviewing the abovedescription.

The Abstract of the Disclosure is provided with the understanding thatit will not be used to interpret or limit the scope or meaning of theclaims. In addition, in the foregoing Detailed Description, it can beseen that various features are grouped together in a single embodimentfor the purpose of streamlining the disclosure. This method ofdisclosure is not to be interpreted as reflecting an intention that theclaimed embodiments require more features than are expressly recited ineach claim. Rather, as the following claims reflect, inventive subjectmatter lies in less than all features of a single disclosed embodiment.Thus the following claims are hereby incorporated into the DetailedDescription, with each claim standing on its own as a separately claimedsubject matter.

What is claimed is:
 1. A machine-readable storage device, comprisinginstructions, wherein responsive to executing the instructions, aprocessor performs operations comprising: detecting a difference betweena first gaming resource of a first device and a second gaming resourceof a second device, the difference being detected responsive to arequest to initiate a video game; instructing the first device, thesecond device, or both to adjust a resource configuration to mitigatethe difference between the first gaming resource and the second gamingresource; and coordinating an exchange of first control informationprovided by the first device and second control information provided bythe second device to enable a multiplayer session of the video gamebetween the first device and the second device.
 2. The machine-readablestorage device of claim 1, wherein the difference between the firstgaming resource and the second gaming resource is a difference in apresentation by a first display device of the first device and apresentation by a second display device of the second device.
 3. Themachine-readable storage device of claim 2, wherein the presentation bythe first and second display devices includes images captured by camerasof the first device and the second device.
 4. The machine-readablestorage device of claim 2, wherein the difference between thepresentations by the first display device and the second display deviceis a difference in a screen size difference, a display resolution, atouch screen capability, a display aspect ratio, or a combinationthereof.
 5. The machine-readable storage device of claim 1, wherein thedifference between the first gaming resource and the second gamingresource is a difference in network latency being experienced by thefirst device and being experienced by the second device.
 6. Themachine-readable storage device of claim 1, wherein the differencebetween the first gaming resource and the second gaming resource is adifference in a capacity of three dimensional controls between the firstdevice and the second device.
 7. The machine-readable storage device ofclaim 1, wherein the difference between the first gaming resources andthe second gaming resources is a difference in a capacity of a touchscreen control between the first device and the second device.
 8. Themachine-readable storage device of claim 1, wherein the second controlinformation comprises modified control information generated by thesecond device responsive to receiving instructions to adjust theresource configuration, and wherein the processor comprises a group ofprocessors operating in a distributed processing environment.
 9. Amethod, comprising: detecting, by a system including a processor, adifference between a first presentation parameter of a first device anda second presentation parameter of a second device, wherein thedetecting of the difference is responsive to a request to initiate acommunication session associated with the first and second devices;providing, by the system, to the first device, the second device orboth, instructions to adjust a resource configuration to reduce thedifference between the first presentation parameter and the secondpresentation parameter; and coordinating, by the system, an exchange offirst control information provided by the first device and secondcontrol information provided by the second device to enable thecommunication session between the first device and the second device.10. The method of claim 9, wherein the difference between the firstpresentation parameter and the second presentation parameter is adifference in a presentation by a first display device of the firstdevice and a presentation by a second display device of the seconddevice.
 11. The method of claim 10, wherein the presentation by thefirst and second display devices includes images captured by cameras ofthe first device and the second device.
 12. The method of claim 10,wherein the difference between the first display device and the seconddisplay device is a difference in a screen size difference, a displayresolution, a touch screen capability, a display aspect ratio, or acombination thereof.
 13. The method of claim 9, wherein the differencebetween the first presentation parameter and the second presentationparameter is a difference in a capacity of a touch screen controlbetween the first device and the second device.
 14. The method of claim9, wherein the adjusting of the resource configuration of the firstdevice, the second device or both reduces an advantage to play a videogame of the communication session at the first device or the seconddevice.
 15. A device, comprising: a memory that stores instructions; anda processor coupled to the memory, wherein responsive to executing theinstructions, the processor performs operations comprising: receivinginstructions to transmit to a first communication device a streamassociated with a gaming application responsive to a determination thatthe first communication device lacks a resource to locally initiate thegaming application; transmitting the stream to the first communicationdevice; receiving first control information and second controlinformation, wherein the first control information is generated by thefirst communication device, wherein the second control information isgenerated by a second communication device to enable a multiplayer gamebetween the first communication device and the second communicationdevice, and wherein the first communication device, the secondcommunication device or both are instructed to change a resourceconfiguration to mitigate a detected difference between a first gamingresource of the first communication device and a second gaming resourceof the second communication device; and modifying a feature of thegaming application to reduce an advantage to play the gaming applicationfrom one of the first communication device and the second communicationdevice.
 16. The device of claim 15, wherein the detected differencebetween the first gaming resource and the second gaming resource is adifference in network latency between the first device and the seconddevice.
 17. The device of claim 15, wherein the detected differencebetween the first gaming resource and the second gaming resource is adifference in a first display device of the first device and a seconddisplay device of the second device.
 18. The device of claim 15, whereinthe detected difference between the first gaming resource and the secondgaming resource is a difference in a screen size difference, a displayresolution, a touch screen capability, a display aspect ratio, or acombination thereof.
 19. The device of claim 15, wherein the detecteddifference between the first gaming resource and the second gamingresource is a difference in a capacity of three dimensional controlsbetween the first device and the second device.
 20. The device of claim15, wherein the detected difference between the first gaming resourceand the second gaming resource is a difference in a capacity of a touchscreen control between the first device and the second device.